package com.ruoyi.assets.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;

/**
 * 资产类别对象 asset_categories
 * 
 * @author sfk
 * @date 2025-03-03
 */
public class AssetCategories extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    @Excel(name = "序号")
    private Long categoryId;

    /** 类别编码 */
    @Excel(name = "类别编码")
    private String categoryCode;

    /** 类别名称 */
    @Excel(name = "类别名称")
    private String categoryName;

    /** 折旧方法 */
    @Excel(name = "折旧方法")
    private String depreciationMethod;

    /** 预计使用年限 */
    @Excel(name = "预计使用年限")
    private Long expectedUsefulLife;

    /** 预计净残值率 */
    @Excel(name = "预计净残值率")
    private BigDecimal expectedResidualValueRate;

    /** 固定资产科目 */
    @Excel(name = "固定资产科目")
    private String fixedAssetAccount;

    /** 累计折旧科目 */
    @Excel(name = "累计折旧科目")
    private String accumulatedDepreciationAccount;

    /** 状态 */
    @Excel(name = "状态")
    @NotBlank(message = "状态不能为空")
    private String status;

    /** 资产属性 */
    @Excel(name = "资产属性")
    private String propertyAttribute;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setCategoryCode(String categoryCode) 
    {
        this.categoryCode = categoryCode;
    }

    public String getCategoryCode() 
    {
        return categoryCode;
    }
    public void setCategoryName(String categoryName) 
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName() 
    {
        return categoryName;
    }
    public void setDepreciationMethod(String depreciationMethod) 
    {
        this.depreciationMethod = depreciationMethod;
    }

    public String getDepreciationMethod() 
    {
        return depreciationMethod;
    }
    public void setExpectedUsefulLife(Long expectedUsefulLife) 
    {
        this.expectedUsefulLife = expectedUsefulLife;
    }

    public Long getExpectedUsefulLife() 
    {
        return expectedUsefulLife;
    }
    public void setExpectedResidualValueRate(BigDecimal expectedResidualValueRate) 
    {
        this.expectedResidualValueRate = expectedResidualValueRate;
    }

    public BigDecimal getExpectedResidualValueRate() 
    {
        return expectedResidualValueRate;
    }
    public void setFixedAssetAccount(String fixedAssetAccount) 
    {
        this.fixedAssetAccount = fixedAssetAccount;
    }

    public String getFixedAssetAccount() 
    {
        return fixedAssetAccount;
    }
    public void setAccumulatedDepreciationAccount(String accumulatedDepreciationAccount) 
    {
        this.accumulatedDepreciationAccount = accumulatedDepreciationAccount;
    }

    public String getPropertyAttribute() {
        return propertyAttribute;
    }

    public void setPropertyAttribute(String propertyAttribute) {
        this.propertyAttribute = propertyAttribute;
    }

    public String getAccumulatedDepreciationAccount()
    {
        return accumulatedDepreciationAccount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("categoryId", getCategoryId())
            .append("categoryCode", getCategoryCode())
            .append("categoryName", getCategoryName())
            .append("depreciationMethod", getDepreciationMethod())
            .append("expectedUsefulLife", getExpectedUsefulLife())
            .append("expectedResidualValueRate", getExpectedResidualValueRate())
            .append("fixedAssetAccount", getFixedAssetAccount())
            .append("propertyAttribute", getPropertyAttribute())
            .append("accumulatedDepreciationAccount", getAccumulatedDepreciationAccount())
            .append("status", getStatus())
            .append("remarks", getRemarks())
            .toString();
    }
}
